A position of an object may be tracked in relation to a surface for various applications. Relative to a known position of the object, a subsequent position of the object can be determined by sensing local features in the surface as the object is moved in relation to the surface.
In one example relating to a personal computer or other console, a tracking device is implemented in an optical mouse to enable a human user to input relative changes in position to a personal computer or other console by moving the mouse. The mouse is moved across a surface, such as a mousepad, that has local differences in color or texture. The tracking device may include a light-emitting diode (LED) to illuminate a predetermined area of the surface. An optical sensor may detect positions of the local differences within the illuminated area at a first point in time, and then again at a second point in time. The tracking device determines a relative shift of the local differences between the first and second time points to determine a two-dimensional movement of the mouse across the surface.
The optical sensor may be controlled to detect the surface at a sufficiently high frequency to determine typical two-dimensional movements of the object across a typical surface. However, the optical sensor may also have a characteristic maximum frequency of operation. Thus, the object may be moved sufficiently fast that a movement between periodic differences in the surface, or between two consecutive detection times, exceeds a dimension of the predetermined area of detection. Moreover, if the tracking device is not successful at detecting a movement at one time point, then it may have to wait until a subsequent time point to attempt to detect the movement. By waiting to detect the movement, the tracking device may lose information about the movement between consecutive, successful detection time points. These environmental factors can cause inaccuracies in the determination of the movement of the object.
In addition, the tracking device may not be able to detect rotations of the object in relation to the surface. For example, the optical sensor may output the detected magnitude of a movement along a first (“x”) axis and the detected magnitude of a movement along a second (“y”) axis that is orthogonal to the first axis. However, a rotation of the object may not cause any detectable movement of the optical sensor along the ‘x’ axis or the ‘y’ axis. Even if the rotation causes a detectable movement of the optical sensor, the tracking device may not be able to determine a magnitude or direction of the rotation based on the detectable movement. The tracking device may therefore be unable to determine a rotation of the object relative to the surface.
Thus, it is desirable to more accurately track a position of an object. It is further desirable to track the position of the object with improved robustness to environmental factors. Moreover, it is desirable to detect rotations of the object in relation to the surface.